package cn.zebra.dev.base.module.member.entity;

import java.time.LocalDateTime;

/**
 * @author runnable@sina.cn
 */
public interface BaseMember {

    Long getId();

    void setId(Long id);

    String getMemberCode();

    void setMemberCode(String memberCode);

    Integer getMemberType();

    void setMemberType(Integer memberType);

    /**
     * 获取用户名
     *
     * @return 用户名
     */
    String getMemberName();

    void setMemberName(String memberName);

    String getMemberAccount();

    void setMemberAccount(String memberAccount);

    String getMemberHeadImg();

    void setMemberHeadImg(String memberHeadImg);

    Long getParentId();

    void setParentId(Long parentId);

    String getMemberPath();

    void setMemberPath(String memberPath);

    String getSalt();

    void setSalt(String salt);

    void setPassword(String password);

    String getSecondarySalt();

    void setSecondarySalt(String secondarySalt);

    String getSecondaryPassword();

    void setSecondaryPassword(String secondaryPassword);

    String getPhone();

    void setPhone(String phone);

    String getEmail();

    void setEmail(String email);

    Long getMemberLevel();

    void setMemberLevel(Long memberLevel);

    Integer getStatus();

    void setStatus(Integer status);

    LocalDateTime getCreateTime();

    void setCreateTime(LocalDateTime createTime);

    Integer getSex();

    /**
     * 设置用户性别
     *
     * @param sex 用户性别
     */
    void setSex(Integer sex);

    /**
     * 获取用户年龄
     *
     * @return 年龄
     */
    Integer getAge();

    /**
     * 设置用户年龄
     *
     * @param age 年龄
     */
    void setAge(Integer age);

    /**
     * 获取密码
     *
     * @return 用户密码
     */
    String getPassword();

    /**
     * 获取用户经验值
     *
     * @return 经验值
     */
    Long getLevelExp();

    /**
     * 设置用户经验值
     *
     * @param exp 经验值
     */
    void setLevelExp(Long exp);

    Integer getBirthdayYear();

    void setBirthdayYear(Integer birthdayYear);

    Integer getBirthdayMonth();

    void setBirthdayMonth(Integer birthdayMonth);

    Integer getBirthdayDay();

    void setBirthdayDay(Integer birthdayDay);
}
